<html>
<head><meta charset="utf-8"><title>design meeting 2020.01.06 · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html">design meeting 2020.01.06</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="184934566"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184934566" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184934566">(Jan 06 2020 at 18:52)</a>:</h4>
<p>Hi <span class="user-group-mention" data-user-group-id="692">@WG-traits</span> A bit early, but I figured I would start this so we can maybe start listing possible topics for today?</p>



<a name="184934622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184934622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184934622">(Jan 06 2020 at 18:53)</a>:</h4>
<p>I was just catching up on things</p>



<a name="184934627"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184934627" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184934627">(Jan 06 2020 at 18:53)</a>:</h4>
<p>I would say:</p>



<a name="184934635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184934635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184934635">(Jan 06 2020 at 18:53)</a>:</h4>
<ul>
<li>tracing</li>
</ul>



<a name="184934656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184934656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184934656">(Jan 06 2020 at 18:53)</a>:</h4>
<ul>
<li>performance optimizations</li>
</ul>



<a name="184934658"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184934658" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184934658">(Jan 06 2020 at 18:53)</a>:</h4>
<p>ha, I'm also writing a few things</p>



<a name="184934698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184934698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184934698">(Jan 06 2020 at 18:54)</a>:</h4>
<ul>
<li>general roadmap thoughts (I had a long chat with <span class="user-mention" data-user-id="116083">@pnkfelix</span> that's gotten me thinking)</li>
</ul>



<a name="184934767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184934767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184934767">(Jan 06 2020 at 18:54)</a>:</h4>
<ul>
<li>chalk-ir / ty plans</li>
</ul>



<a name="184934789"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184934789" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184934789">(Jan 06 2020 at 18:54)</a>:</h4>
<ul>
<li>general sync up :)</li>
</ul>



<a name="184934850"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184934850" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184934850">(Jan 06 2020 at 18:55)</a>:</h4>
<p>Those all sound good</p>



<a name="184934862"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184934862" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184934862">(Jan 06 2020 at 18:55)</a>:</h4>
<p>In addition I would say:</p>



<a name="184934892"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184934892" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184934892">(Jan 06 2020 at 18:55)</a>:</h4>
<p>So many things to talk about <span aria-label="slight smile" class="emoji emoji-1f642" role="img" title="slight smile">:slight_smile:</span></p>



<a name="184934896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184934896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184934896">(Jan 06 2020 at 18:56)</a>:</h4>
<ul>
<li><a href="https://github.com/rust-lang/chalk/issues/302" target="_blank" title="https://github.com/rust-lang/chalk/issues/302">https://github.com/rust-lang/chalk/issues/302</a> (see my topic for rambling)</li>
</ul>



<a name="184934990"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184934990" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184934990">(Jan 06 2020 at 18:56)</a>:</h4>
<p>haven't caught up with that thread yet</p>



<a name="184935007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935007">(Jan 06 2020 at 18:56)</a>:</h4>
<ul>
<li><code>QuantumExceeded</code> &amp; fuel (some thoughts here: <a href="#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Changing.20CHALK_SOLVER_MAX_SIZE/near/184862989" title="#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Changing.20CHALK_SOLVER_MAX_SIZE/near/184862989">https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Changing.20CHALK_SOLVER_MAX_SIZE/near/184862989</a>)</li>
</ul>



<a name="184935018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935018">(Jan 06 2020 at 18:57)</a>:</h4>
<ul>
<li>solver caching <a class="stream-topic" data-stream-id="144729" href="/#narrow/stream/144729-wg-traits/topic/Solver.20caching">#wg-traits &gt; Solver caching</a> also...</li>
</ul>



<a name="184935309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935309">(Jan 06 2020 at 19:00)</a>:</h4>
<p>So, how about we tentatively shoot for the following:</p>
<ul>
<li>general sync up &amp; going over open PRs (5-10 minutes)</li>
<li>chalk ir/ty plans/update (5-10 minutes)</li>
<li>general roadmap ideas (5-10 minutes)<br>
and then after that we'll see what comes up</li>
</ul>



<a name="184935337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935337">(Jan 06 2020 at 19:00)</a>:</h4>
<p>Ah, was gonna suggest to start with one of the higher-level things, to decide on the next steps. So either tracing, general roadmap or chalkir/ty plans</p>



<a name="184935361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935361">(Jan 06 2020 at 19:00)</a>:</h4>
<p>(sounds good to me; hello!)</p>



<a name="184935442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935442">(Jan 06 2020 at 19:01)</a>:</h4>
<p>I would like to talk about tracing a bit (<span class="user-mention" data-user-id="198819">@David Barsky</span> did you still want to open a PR for that?). So maybe we can add an explicit 5-10 minutes for that</p>



<a name="184935512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935512">(Jan 06 2020 at 19:02)</a>:</h4>
<p>Anyways, it's 2:01 so let's start?</p>



<a name="184935528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935528">(Jan 06 2020 at 19:02)</a>:</h4>
<p>I think the general roadmap should maybe come first, but otherwise seems reasonable</p>



<a name="184935543"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935543" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935543">(Jan 06 2020 at 19:02)</a>:</h4>
<p>Sure, we can start with that</p>



<a name="184935566"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935566" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935566">(Jan 06 2020 at 19:02)</a>:</h4>
<p>In terms of general "sync up"...</p>



<a name="184935567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935567">(Jan 06 2020 at 19:02)</a>:</h4>
<p>Do you want to summarize your convo with <span class="user-mention" data-user-id="116083">@pnkfelix</span> ?</p>



<a name="184935614"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935614" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935614">(Jan 06 2020 at 19:03)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> i should submit the PR, but i've gotten a bit side-tracked with fixing some bugs, writing docs, and overall, taking a break. I also started mimicking the hierarchal profiling data that rust-analyzer uses</p>



<a name="184935642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935642">(Jan 06 2020 at 19:03)</a>:</h4>
<blockquote>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> i should submit the PR, but i've gotten a bit side-tracked with fixing some bugs, writing docs, and overall, taking a break. I also started mimicking the hierarchal profiling data that rust-analyzer uses</p>
</blockquote>
<p>No problem :) I'm pretty excited about it</p>



<a name="184935652"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935652" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935652">(Jan 06 2020 at 19:04)</a>:</h4>
<p>Sure. The TL;DR is that we were discussing the question of how much to focus on integrating <em>chalk</em> vs extending rustc, and also looking a bit into what the challenges are around integrating chalk and if we can do it a bit more "Step by step"</p>



<a name="184935724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935724">(Jan 06 2020 at 19:04)</a>:</h4>
<p>Step by step?</p>



<a name="184935752"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935752" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935752">(Jan 06 2020 at 19:05)</a>:</h4>
<p>I think the outcome was that I was thinking that (a) I think I sort of see the path to extend rustc to handle more of GATs natively, and hopefully to handle lazy norm better, which before I wasn't sure if I saw such a path, and (b) but I still feel like I want to pursue the overall chalk model</p>



<a name="184935765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935765">(Jan 06 2020 at 19:05)</a>:</h4>
<p>by "step by step" what I meant really was</p>



<a name="184935784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935784">(Jan 06 2020 at 19:05)</a>:</h4>
<p>are there ways to make chalk behave "more like" the existing trait solver so we can integrate more easily. I'm not sure about that, I think there might be some room to do so in terms of exploring different kinds of solvers</p>



<a name="184935856"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935856" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935856">(Jan 06 2020 at 19:06)</a>:</h4>
<p>Can you elaborate on different kinds of solvers?</p>



<a name="184935914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184935914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184935914">(Jan 06 2020 at 19:07)</a>:</h4>
<p>I think that as far as chalk integration goes, we should really be looking at integrating chalk-solve into rustc (with a -Z flag) as a next goal, although I'm not sure how best to balance with "responding to problems rust-analyzer finds"</p>



<a name="184936013"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936013" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936013">(Jan 06 2020 at 19:08)</a>:</h4>
<p>Which is a few at this point</p>



<a name="184936018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936018">(Jan 06 2020 at 19:08)</a>:</h4>
<blockquote>
<p>Can you elaborate on different kinds of solvers?</p>
</blockquote>
<p>there are different ways to structure the solver. Chalk used to have a different solver that worked more like rustc, in that it didn't try to enumerate individual solutions -- it looks always for unique answers. I'm trying to remember what some of the problems were that we had with it, I do remember it sometimes was failing to find solutions.</p>



<a name="184936029"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936029" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936029">(Jan 06 2020 at 19:08)</a>:</h4>
<p>Yeah, it seems like they're [rust analyzer problems] starting to accumulate</p>



<a name="184936067"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936067" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936067">(Jan 06 2020 at 19:09)</a>:</h4>
<p>(Good news is that I can reproduce a couple with existing tests by just setting <code>max_size</code> to 3)</p>



<a name="184936087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936087">(Jan 06 2020 at 19:09)</a>:</h4>
<p>Yeah I'm also quite curious about the infinite loops that arise with higher max-size values</p>



<a name="184936161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936161">(Jan 06 2020 at 19:10)</a>:</h4>
<p>I think we need some <em>much</em> more complex tests in chalk to start to see those</p>



<a name="184936162"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936162" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936162">(Jan 06 2020 at 19:10)</a>:</h4>
<p>Integrating with rustc should be easier after we've fixed any large problems from the currently found bugs</p>



<a name="184936171"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936171" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936171">(Jan 06 2020 at 19:10)</a>:</h4>
<p>I don't any now pass a max_size of like 6</p>



<a name="184936177"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936177" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936177">(Jan 06 2020 at 19:10)</a>:</h4>
<p>I'm not sure if that's true; I would expect rustc integration to be sort of orthogonal</p>



<a name="184936202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936202">(Jan 06 2020 at 19:11)</a>:</h4>
<p>I think the immediate steps <em>there</em> are going to be finishing up the work on mapping types</p>



<a name="184936217"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936217" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936217">(Jan 06 2020 at 19:11)</a>:</h4>
<p>and then trying to implement the chalk-rust-ir callbacks</p>



<a name="184936222"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936222" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936222">(Jan 06 2020 at 19:11)</a>:</h4>
<p>I guess that kind of leads into the chalk-ir update?</p>



<a name="184936235"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936235" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936235">(Jan 06 2020 at 19:11)</a>:</h4>
<p>yeah, they're definitely connected</p>



<a name="184936320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936320">(Jan 06 2020 at 19:12)</a>:</h4>
<p>I guess my main take-away from the conversation with felix was that there is a reasonable path to both improve rustc and keep working on chalk</p>



<a name="184936325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936325">(Jan 06 2020 at 19:12)</a>:</h4>
<p>is that sort of blocked on compiler team meeting?</p>



<a name="184936328"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936328" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936328">(Jan 06 2020 at 19:12)</a>:</h4>
<p>I need to write-up the plans but some of them are already in progress</p>



<a name="184936334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936334">(Jan 06 2020 at 19:12)</a>:</h4>
<blockquote>
<p>is that sort of blocked on compiler team meeting?</p>
</blockquote>
<p>I don't think so</p>



<a name="184936373"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936373" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936373">(Jan 06 2020 at 19:12)</a>:</h4>
<blockquote>
<p>I need to write-up the plans but some of them are already in progress</p>
</blockquote>
<p>that said, the people in <em>this</em> meeting I thnk are mostly folks who've been hacking on chalk so let's focus on that part of things for now</p>



<a name="184936420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936420">(Jan 06 2020 at 19:13)</a>:</h4>
<p>so as far as chalk-ir goes, I mean, I think there is some question as to what the best way is to proceed-- I've kind of been piecemeal making refactorings, but probably the right step is to finish sketching out the end-state and create an issue to help others make some of those changes?</p>



<a name="184936435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936435">(Jan 06 2020 at 19:13)</a>:</h4>
<p>So, for that, the next steps are to basically write PRs to change chalk-ir to match the proposal? (which you've been doing I think)</p>



<a name="184936448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936448">(Jan 06 2020 at 19:13)</a>:</h4>
<p>ninjad</p>



<a name="184936452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936452">(Jan 06 2020 at 19:13)</a>:</h4>
<p>yeah, but there are a few big changes left :)</p>



<a name="184936498"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936498" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936498">(Jan 06 2020 at 19:14)</a>:</h4>
<p>in particular</p>



<a name="184936511"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936511" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936511">(Jan 06 2020 at 19:14)</a>:</h4>
<p>I think that if we are going to support interning</p>



<a name="184936529"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936529" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936529">(Jan 06 2020 at 19:14)</a>:</h4>
<p>we need to be passing around a <code>tcx: &amp;TypeFamily</code> or something; maybe it should be named something else of course</p>



<a name="184936541"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936541" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936541">(Jan 06 2020 at 19:14)</a>:</h4>
<p>and the various <code>intern_ty</code> functions need to become <code>&amp;self</code> methods</p>



<a name="184936551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936551">(Jan 06 2020 at 19:15)</a>:</h4>
<p>this will be an annoying refactoring :)</p>



<a name="184936586"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936586" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936586">(Jan 06 2020 at 19:15)</a>:</h4>
<blockquote>
<p>maybe it should be named something else of course</p>
</blockquote>
<p>(probably a name like <code>interner: TypeInterner</code> is the most obvious, side note)</p>



<a name="184936693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936693">(Jan 06 2020 at 19:16)</a>:</h4>
<p>I really need to read through the current chalk-ir code and get a more general sense of  everything with some of the newer refactors</p>



<a name="184936697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936697">(Jan 06 2020 at 19:16)</a>:</h4>
<p>the other question is whether the <code>lookup</code> methods (e.g., the one used by <code>ty.data()</code>) should be <code>&amp;self</code>; this would permit interning that is creating integers and be more general, but also more annoying. I would think we would first just make the <code>intern</code> calls into methods</p>



<a name="184936733"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936733" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936733">(Jan 06 2020 at 19:17)</a>:</h4>
<p>Not sure what this would look like</p>



<a name="184936844"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936844" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936844">(Jan 06 2020 at 19:18)</a>:</h4>
<p>(a bit of a off-topic/side thought, but this reminds me a bit of Pyo3's <code>Py</code>/<code>PyObject</code> system)</p>



<a name="184936845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936845">(Jan 06 2020 at 19:18)</a>:</h4>
<p>so I guess the remaining steps would be:</p>
<ul>
<li>finish introducing a few more "Intern" points (e.g., <code>TypeName</code>)</li>
<li>thread through an <code>interner</code> variable and make <code>intern</code> calls into methods</li>
<li>introduce <code>TyData</code> variant for generator interiors, I think that's the only one missing?</li>
</ul>
<p>at that point I think we could take a first stab at modifying rustc to do the mapping</p>



<a name="184936863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936863">(Jan 06 2020 at 19:18)</a>:</h4>
<p>actually we could start doing it before the third point</p>



<a name="184936868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936868">(Jan 06 2020 at 19:18)</a>:</h4>
<p>since we can just <code>panic!</code> on missing cases</p>



<a name="184936871"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936871" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936871">(Jan 06 2020 at 19:18)</a>:</h4>
<p>it'll probably help us identifying other problems</p>



<a name="184936878"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936878" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936878">(Jan 06 2020 at 19:18)</a>:</h4>
<p>Sounds good to me</p>



<a name="184936888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936888">(Jan 06 2020 at 19:19)</a>:</h4>
<p>to finish the rustc integration, then, we'd also have to implement the <code>RustIrDatabase</code> trait, which provides things like "information about an impl"</p>



<a name="184936905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936905">(Jan 06 2020 at 19:19)</a>:</h4>
<p>it all feels eminently do-able to me but will require some sustained attention I guess</p>



<a name="184936906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184936906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184936906">(Jan 06 2020 at 19:19)</a>:</h4>
<p>I left a couple comments on your "intern substitutions" pr, but overall looks decent</p>



<a name="184937013"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937013" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937013">(Jan 06 2020 at 19:20)</a>:</h4>
<p>Ok, all this sounds good to me</p>



<a name="184937018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937018">(Jan 06 2020 at 19:20)</a>:</h4>
<p>Move on to general sync-up?</p>



<a name="184937044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937044">(Jan 06 2020 at 19:21)</a>:</h4>
<blockquote>
<p>I left a couple comments on your "intern substitutions" pr, but overall looks decent</p>
</blockquote>
<p>btw I <a href="https://github.com/rust-lang/chalk/pull/316#discussion_r363442225" target="_blank" title="https://github.com/rust-lang/chalk/pull/316#discussion_r363442225">just responded</a> to your substantive question</p>



<a name="184937063"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937063" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937063">(Jan 06 2020 at 19:21)</a>:</h4>
<p>one question before we move on</p>



<a name="184937084"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937084" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937084">(Jan 06 2020 at 19:21)</a>:</h4>
<p>well I guess the question is: it seems clear that we can make "individual steps" for chalk-rustc integration</p>



<a name="184937095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937095">(Jan 06 2020 at 19:21)</a>:</h4>
<p>I think I can do the same for the "extend rustc to support gats etc" plan I was hinting at</p>



<a name="184937157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937157">(Jan 06 2020 at 19:22)</a>:</h4>
<p>but I think the question is (A) how much to balance the rust-analyzer and optimization work</p>



<a name="184937168"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937168" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937168">(Jan 06 2020 at 19:22)</a>:</h4>
<p>and (B) who will do the work and how to help out best there</p>



<a name="184937188"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937188" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937188">(Jan 06 2020 at 19:22)</a>:</h4>
<p>I'm specifically pondering if I can make more of a commitment to individual people</p>



<a name="184937197"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937197" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937197">(Jan 06 2020 at 19:22)</a>:</h4>
<p>e.g., we could schedule like a regular meeting time</p>



<a name="184937209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937209">(Jan 06 2020 at 19:22)</a>:</h4>
<p>So, last meeting I put up my TODO for chalk</p>



<a name="184937241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937241">(Jan 06 2020 at 19:23)</a>:</h4>
<blockquote>
<p>I'm specifically pondering if I can make more of a commitment to individual people</p>
</blockquote>
<p>(vs the more general "calls for help" that we sometimes do)</p>



<a name="184937265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937265">(Jan 06 2020 at 19:23)</a>:</h4>
<blockquote>
<p>So, last meeting I put up my TODO for chalk</p>
</blockquote>
<p>link?</p>



<a name="184937334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937334">(Jan 06 2020 at 19:24)</a>:</h4>
<p><a href="#narrow/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30/near/184494512" title="#narrow/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30/near/184494512">https://rust-lang.zulipchat.com/#narrow/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30/near/184494512</a></p>



<a name="184937391"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937391" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937391">(Jan 06 2020 at 19:25)</a>:</h4>
<p>Which I think mostly still is correct for me</p>



<a name="184937406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937406">(Jan 06 2020 at 19:25)</a>:</h4>
<p>my impression is that <span class="user-mention" data-user-id="232957">@Jack Huey</span> is having a blast doing the "tune chalk" side of things :)</p>



<a name="184937418"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937418" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937418">(Jan 06 2020 at 19:25)</a>:</h4>
<p>(vs say rustc-integration)</p>



<a name="184937424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937424">(Jan 06 2020 at 19:25)</a>:</h4>
<p>But also after that first point is to at least <em>investigate</em> the bugs from rust-analyzer and see if they have "easy" fixes vs "design" fixes</p>



<a name="184937467"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937467" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937467">(Jan 06 2020 at 19:26)</a>:</h4>
<p>I do think that makes a lot of sense</p>



<a name="184937476"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937476" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937476">(Jan 06 2020 at 19:26)</a>:</h4>
<p>I am quite enjoying chalk side of things</p>



<a name="184937478"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937478" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937478">(Jan 06 2020 at 19:26)</a>:</h4>
<p>in particular my biggest fear for chalk, well, there are maybe 2</p>



<a name="184937515"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937515" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937515">(Jan 06 2020 at 19:26)</a>:</h4>
<p>the first one is that the existing <em>solver</em> won't work out because it tries too hard to pursue individual options; I think maybe I shouldn't be as afraid about that, because part of the whole point of chalk was to have the freedom to change the solver strategy</p>



<a name="184937534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937534">(Jan 06 2020 at 19:27)</a>:</h4>
<p>but the best way to assess that fear is to look at the problems we're having, as you said</p>



<a name="184937567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937567">(Jan 06 2020 at 19:27)</a>:</h4>
<p>The main danger there is that we make things too complicated</p>



<a name="184937578"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937578" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937578">(Jan 06 2020 at 19:27)</a>:</h4>
<p>I think several of these issues really only require changes in engine</p>



<a name="184937604"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937604" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937604">(Jan 06 2020 at 19:28)</a>:</h4>
<p>but don't quote me on that</p>



<a name="184937623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937623">(Jan 06 2020 at 19:28)</a>:</h4>
<p>I feel pretty confident this is the case</p>



<a name="184937633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937633">(Jan 06 2020 at 19:28)</a>:</h4>
<p>I'm basically not sure if the engine design is correct</p>



<a name="184937643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937643">(Jan 06 2020 at 19:28)</a>:</h4>
<p>the <em>lowering</em> part I think is in the correct area--though there is one big work item there (caching)</p>



<a name="184937656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937656">(Jan 06 2020 at 19:28)</a>:</h4>
<p>the lowering part seems also to be the most valuable, in that it's the first real definition of what Rust's trait system <em>means</em> :P</p>



<a name="184937706"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937706" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937706">(Jan 06 2020 at 19:29)</a>:</h4>
<p>what was your second biggest fear?</p>



<a name="184937708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937708">(Jan 06 2020 at 19:29)</a>:</h4>
<blockquote>
<p>(caching)</p>
</blockquote>
<p>and integration with incremental</p>



<a name="184937811"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937811" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937811">(Jan 06 2020 at 19:30)</a>:</h4>
<blockquote>
<p>what was your second biggest fear?</p>
</blockquote>
<p>I was wondering that myself :) maybe I only have 1. I mean I think i'm just afraid of the 'long tail' of diagnostics and other work, and afraid that pursuing it will take a long time where there is a shorter path in rustc to unlock some stuff. Which is a bit why I'm interested in putting in more time this year and trying to pursue both quite seriously.</p>



<a name="184937837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937837">(Jan 06 2020 at 19:31)</a>:</h4>
<p>to elaborate a bit on the caching/incremental thing: right now, the engine asks for "what are the program clauses to solve goal X" and I think each time it does so we go and re-invoke all the same methods do all the lowering again and again</p>



<a name="184937869"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937869" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937869">(Jan 06 2020 at 19:31)</a>:</h4>
<p>I think you're correct with that</p>



<a name="184937887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937887">(Jan 06 2020 at 19:31)</a>:</h4>
<p>we wrote that code kind of "naively" just to stand something up, but I'm pretty sure that is a big part of some of the perf problems we're seeing -- based on that profile we were discussing, for example</p>



<a name="184937939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937939">(Jan 06 2020 at 19:32)</a>:</h4>
<p>that makes sense</p>



<a name="184937942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937942">(Jan 06 2020 at 19:32)</a>:</h4>
<p>I'm not exactly sure how to do better :) I've not really tried to think about it. It seems like it should be eminently possible.</p>



<a name="184937970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184937970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184937970">(Jan 06 2020 at 19:32)</a>:</h4>
<p>(as a first step, we could cache the rules for the environment, which rarely changes)</p>



<a name="184938016"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938016" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938016">(Jan 06 2020 at 19:33)</a>:</h4>
<p>we have to be a bit careful but</p>



<a name="184938024"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938024" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938024">(Jan 06 2020 at 19:33)</a>:</h4>
<p>the other thing is that right now, when we go to create program clauses,</p>



<a name="184938033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938033">(Jan 06 2020 at 19:33)</a>:</h4>
<p>we <em>always</em> recreate them, re-querying the database</p>



<a name="184938138"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938138" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938138">(Jan 06 2020 at 19:34)</a>:</h4>
<p>anyway let's table the deatils I guess, I imagine we'd want to go and gather some data</p>



<a name="184938195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938195">(Jan 06 2020 at 19:35)</a>:</h4>
<p>Do we want to do a quick sync-up? Then jump to tracing?</p>



<a name="184938214"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938214" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938214">(Jan 06 2020 at 19:35)</a>:</h4>
<p>Sorry, we were going to move on to general sync up .. maybe we can summarize what we said? I think it was:</p>
<p>Three high-level goals:</p>
<ul>
<li>Improve rustc (Niko and others are doing, will try to write out steps)</li>
<li>Integrate chalk (Niko can write out steps, not sure who will do it)</li>
<li>Tune chalk (jack huey is pursuing, but we should write out more goals, and maybe find others for some of them)</li>
</ul>



<a name="184938284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938284">(Jan 06 2020 at 19:36)</a>:</h4>
<p>sounds good to me</p>



<a name="184938306"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938306" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938306">(Jan 06 2020 at 19:37)</a>:</h4>
<p>I can definitely write out some goals for chalk tuning</p>



<a name="184938309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938309">(Jan 06 2020 at 19:37)</a>:</h4>
<p>As for a quick sync-up:</p>
<p>I did a bit of work towards chalk-ir. I want to merge the book PR and try to finish it up. I am also curious where people think are the best place to "write out the steps" and try to collect all the work that's going on. (Tracking issues? The wg-trait repository? I'm curious maybe to try Github Projects on wg-traits combined with issues from other repositories)</p>



<a name="184938350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938350">(Jan 06 2020 at 19:37)</a>:</h4>
<p>(also curious if people think ti'd be better to merge book PR with chalk-ir proposal and then write more, or try to finish it in PR form)</p>



<a name="184938420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938420">(Jan 06 2020 at 19:38)</a>:</h4>
<p>So, I think merging the book PR proposal as it is now is good</p>



<a name="184938435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938435">(Jan 06 2020 at 19:38)</a>:</h4>
<p>As far as writing out the steps:</p>



<a name="184938491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938491">(Jan 06 2020 at 19:39)</a>:</h4>
<p>Probably a tracking issue on rust-lang/chalk for refactorings. Then if any are big enough that could go in parts, maybe split/add more</p>



<a name="184938519"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938519" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938519">(Jan 06 2020 at 19:39)</a>:</h4>
<p>I think a wg-traits issue would be good for rustc integration</p>



<a name="184938631"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938631" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938631">(Jan 06 2020 at 19:40)</a>:</h4>
<p>I think I am going to try github projects, why not, although I don't know how useful it'll be</p>



<a name="184938660"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938660" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938660">(Jan 06 2020 at 19:41)</a>:</h4>
<p>I can't quite tell what the columns should be, in particular :) but we'll see</p>



<a name="184938783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938783">(Jan 06 2020 at 19:42)</a>:</h4>
<p>As for my sync-up:</p>
<ul>
<li>I opened a PR that refactors the test infra a bit: <a href="https://github.com/rust-lang/chalk/pull/317" target="_blank" title="https://github.com/rust-lang/chalk/pull/317">https://github.com/rust-lang/chalk/pull/317</a>. It should make things easier to follow for someone who's never seen the chalk code before (tests)</li>
<li>Been looking at <a href="https://github.com/rust-lang/chalk/issues/302" target="_blank" title="https://github.com/rust-lang/chalk/issues/302">https://github.com/rust-lang/chalk/issues/302</a> a bit. I think this falls more under a design problem. (Ramblings in other topic).</li>
<li>Haven't touched the associated types stuff</li>
</ul>



<a name="184938784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938784">(Jan 06 2020 at 19:42)</a>:</h4>
<p>rust-clippy uses 'todo' and 'done' on their projects page, that seems to work</p>



<a name="184938829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938829">(Jan 06 2020 at 19:43)</a>:</h4>
<p><a href="https://github.com/rust-lang/wg-traits/projects/2?add_cards_query=is%3Aopen" target="_blank" title="https://github.com/rust-lang/wg-traits/projects/2?add_cards_query=is%3Aopen">created a GH project for rustc-chalk integration</a>, will experiment more with it later though :)</p>



<a name="184938925"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938925" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938925">(Jan 06 2020 at 19:44)</a>:</h4>
<p>(On the note of associated types stuff, I still want to explore the "split syntactic and semantic equality" and then experiment a bit with having chalk solve for region constraints -- that's <em>definitely</em> a design question, and I think a more general one.)</p>



<a name="184938929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938929">(Jan 06 2020 at 19:44)</a>:</h4>
<p>I've sort of been trying to implement what I said in the other topic: instead of marking an exclause as ambiguous, I just add a <code>CannotProve</code> delayed subgoal</p>



<a name="184938937"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938937" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938937">(Jan 06 2020 at 19:44)</a>:</h4>
<p>hmm</p>



<a name="184938941"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938941" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938941">(Jan 06 2020 at 19:44)</a>:</h4>
<p>yeah I didn't have time to process</p>



<a name="184938953"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938953" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938953">(Jan 06 2020 at 19:44)</a>:</h4>
<p>but I can sort of imagine why that might be useful</p>



<a name="184938956"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184938956" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184938956">(Jan 06 2020 at 19:44)</a>:</h4>
<p>yeah, I figured if you had read through and thought about it, you would have replied :)</p>



<a name="184939012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939012">(Jan 06 2020 at 19:45)</a>:</h4>
<p>(I think really, the goal would be to use specific goals for "ambiguity" instead of <code>CannotProve</code>)</p>



<a name="184939036"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939036" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939036">(Jan 06 2020 at 19:45)</a>:</h4>
<p>So you could, theoretically "pick up" from a truncation</p>



<a name="184939093"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939093" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939093">(Jan 06 2020 at 19:46)</a>:</h4>
<p>should we discuss tracing a bit here at the end?</p>



<a name="184939102"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939102" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939102">(Jan 06 2020 at 19:46)</a>:</h4>
<p>yes, I was just gonna say that</p>



<a name="184939103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939103">(Jan 06 2020 at 19:46)</a>:</h4>
<p>guess so?</p>



<a name="184939104"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939104" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939104">(Jan 06 2020 at 19:46)</a>:</h4>
<p>Not sure if <span class="user-mention" data-user-id="198819">@David Barsky</span> is still around</p>



<a name="184939151"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939151" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939151">(Jan 06 2020 at 19:47)</a>:</h4>
<p><a href="/user_uploads/4715/ssBN0AQyDM-K-Bh7De-qc0yT/heirarchal.png" target="_blank" title="heirarchal.png">heirarchal.png</a> i was working on a hierarchal fmt for <code>tracing</code> to mimic what rust-analyzer has (and because tree representations are handy)</p>
<div class="message_inline_image"><a href="/user_uploads/4715/ssBN0AQyDM-K-Bh7De-qc0yT/heirarchal.png" target="_blank" title="heirarchal.png"><img src="/user_uploads/4715/ssBN0AQyDM-K-Bh7De-qc0yT/heirarchal.png"></a></div>



<a name="184939247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939247">(Jan 06 2020 at 19:48)</a>:</h4>
<p>to interpret the data: each bolded green word <code>conn</code>, <code>server</code>, <code>sloggish-example</code> is a span, correspnding to a unit of of work</p>



<a name="184939248"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939248" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939248">(Jan 06 2020 at 19:48)</a>:</h4>
<p>I think it will actually be pretty straightforward to convert the <code>CHALK_DEBUG</code> calls to tracing</p>



<a name="184939263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939263">(Jan 06 2020 at 19:48)</a>:</h4>
<p>I should think so-- but I think we could do better</p>



<a name="184939268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939268">(Jan 06 2020 at 19:48)</a>:</h4>
<p>since there are <code>debug_heading</code> and <code>info_heading</code> which are sort of spans</p>



<a name="184939269"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939269" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939269">(Jan 06 2020 at 19:48)</a>:</h4>
<p>e.g., I'd prefer if we assigned each strand a unique id</p>



<a name="184939272"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939272" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939272">(Jan 06 2020 at 19:48)</a>:</h4>
<p>the log-like messages within in are <code>log</code>-style messages</p>



<a name="184939276"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939276" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939276">(Jan 06 2020 at 19:48)</a>:</h4>
<p>and we use that to tag things</p>



<a name="184939283"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939283" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939283">(Jan 06 2020 at 19:48)</a>:</h4>
<p>Yes, that would be really neat</p>



<a name="184939287"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939287" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939287">(Jan 06 2020 at 19:48)</a>:</h4>
<p>similarly we can tag events with their table, so you can view events by table</p>



<a name="184939301"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939301" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939301">(Jan 06 2020 at 19:49)</a>:</h4>
<p>I'm not quite sure what all the ways are that you would want to view it I guess</p>



<a name="184939308"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939308" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939308">(Jan 06 2020 at 19:49)</a>:</h4>
<p>This honestly makes me so excited</p>



<a name="184939320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939320">(Jan 06 2020 at 19:49)</a>:</h4>
<p>i'd like to have this print out _durations_, rather than instants. this requires some small changes in terms of how this data is outputted</p>



<a name="184939358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939358">(Jan 06 2020 at 19:49)</a>:</h4>
<p>I feel like <span class="user-mention" data-user-id="198819">@David Barsky</span> and <span class="user-mention" data-user-id="232957">@Jack Huey</span> doing this together would be a power team <em>hint hint</em> ;)</p>



<a name="184939370"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939370" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939370">(Jan 06 2020 at 19:49)</a>:</h4>
<p>Yes</p>



<a name="184939375"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939375" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939375">(Jan 06 2020 at 19:49)</a>:</h4>
<p>(e.g., not when events come in—they need to be buffered and flushed on a span's exit)</p>



<a name="184939431"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939431" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939431">(Jan 06 2020 at 19:50)</a>:</h4>
<p>yep, those are all good use-cases</p>



<a name="184939442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939442">(Jan 06 2020 at 19:50)</a>:</h4>
<p><span class="user-mention" data-user-id="198819">@David Barsky</span> if you make an initial PR, I can definitely add more</p>



<a name="184939452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939452">(Jan 06 2020 at 19:50)</a>:</h4>
<p>one challenge, but presumably it can be handled,</p>



<a name="184939473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939473">(Jan 06 2020 at 19:50)</a>:</h4>
<p>is to have a nice way to deal with "strand A requests a result from table B"</p>



<a name="184939500"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939500" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939500">(Jan 06 2020 at 19:51)</a>:</h4>
<p>i.e., to be able to trace all the work done on behalf of some parent strand?</p>



<a name="184939526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939526">(Jan 06 2020 at 19:51)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> lemme finish this formatter up first + get that published, but i've rewritten the getting started guide: <a href="https://github.com/tokio-rs/tracing#usage" target="_blank" title="https://github.com/tokio-rs/tracing#usage">https://github.com/tokio-rs/tracing#usage</a></p>



<a name="184939528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939528">(Jan 06 2020 at 19:51)</a>:</h4>
<p>anyway it seems like exactly the sort of problem that tracing was built to solve though</p>



<a name="184939550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939550">(Jan 06 2020 at 19:51)</a>:</h4>
<p>hmm</p>



<a name="184939655"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939655" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939655">(Jan 06 2020 at 19:52)</a>:</h4>
<p>Should make a topic for this so we can talk about it async</p>



<a name="184939665"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939665" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939665">(Jan 06 2020 at 19:52)</a>:</h4>
<p>i _think_ you can you can treat that as a <code>follows_from</code> or  parent/child relationship in tracing</p>



<a name="184939670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939670">(Jan 06 2020 at 19:52)</a>:</h4>
<p>yep</p>



<a name="184939672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939672">(Jan 06 2020 at 19:52)</a>:</h4>
<p>I don't think we had an issue about it yet</p>



<a name="184939717"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939717" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939717">(Jan 06 2020 at 19:53)</a>:</h4>
<p>but yes, if your call graph is (mostly) a DAG, <code>tracing</code> is a good fit</p>



<a name="184939764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939764">(Jan 06 2020 at 19:53)</a>:</h4>
<p>Neat</p>



<a name="184939839"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939839" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939839">(Jan 06 2020 at 19:54)</a>:</h4>
<p>Ok, anything else to mention in the remaining 6 minutes?</p>



<a name="184939869"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939869" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939869">(Jan 06 2020 at 19:54)</a>:</h4>
<p>I think we actually covered everything we said we wanted to</p>



<a name="184939872"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939872" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939872">(Jan 06 2020 at 19:55)</a>:</h4>
<p>which is somewhat surprising</p>



<a name="184939890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939890">(Jan 06 2020 at 19:55)</a>:</h4>
<p>Heh go team <span aria-label="heart" class="emoji emoji-2764" role="img" title="heart">:heart:</span></p>



<a name="184939922"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939922" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939922">(Jan 06 2020 at 19:55)</a>:</h4>
<p>Ok, so I'll just make a quick summary of the meeting then:</p>



<a name="184939978"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184939978" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184939978">(Jan 06 2020 at 19:56)</a>:</h4>
<p>(and things to do next)</p>



<a name="184940407"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184940407" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184940407">(Jan 06 2020 at 20:00)</a>:</h4>
<p>(are you posting that here?)</p>



<a name="184940534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184940534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184940534">(Jan 06 2020 at 20:01)</a>:</h4>
<ul>
<li>We do want to try to extend both rustc and chalk.</li>
<li>Need to come up with a plan for chalk integration into rustc (Niko)</li>
<li>Need to come up with goals for chalk (Jack)</li>
<li>Need to put together what needs to be done for chalk-ir changes (Niko)</li>
<li>One way to maybe help performance would be to cache program clause creation</li>
<li>Should think about potential other solvers</li>
<li>Going to add tracing into chalk (David and Jack)</li>
<li>Going to create projects on wg-traits to get organized</li>
</ul>



<a name="184940539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184940539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184940539">(Jan 06 2020 at 20:01)</a>:</h4>
<p>Yes :)</p>



<a name="184940548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184940548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184940548">(Jan 06 2020 at 20:01)</a>:</h4>
<p>Did I miss anything</p>



<a name="184940597"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184940597" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184940597">(Jan 06 2020 at 20:01)</a>:</h4>
<p>Sounds great, also, we're going to create a projects on wg-trait to try to get organized</p>



<a name="184940652"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184940652" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184940652">(Jan 06 2020 at 20:02)</a>:</h4>
<p>I think it'd be nice to try and create a plan of sorts for "the next quarter" or so -- maybe 6 weeks is a good choice -- and write a blog post about it</p>



<a name="184940656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184940656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184940656">(Jan 06 2020 at 20:02)</a>:</h4>
<p>seems like we're close</p>



<a name="184940683"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184940683" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184940683">(Jan 06 2020 at 20:02)</a>:</h4>
<blockquote>
<p>Sounds great, also, we're going to create a projects on wg-trait to try to get organized</p>
</blockquote>
<p>thanks, added</p>



<a name="184940724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184940724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184940724">(Jan 06 2020 at 20:03)</a>:</h4>
<p>I think a blog post would be cool</p>



<a name="184940767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184940767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184940767">(Jan 06 2020 at 20:03)</a>:</h4>
<p>I would say maybe 10 weeks?</p>



<a name="184940784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184940784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184940784">(Jan 06 2020 at 20:03)</a>:</h4>
<p>depends on the scale of the goals</p>



<a name="184940804"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184940804" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184940804">(Jan 06 2020 at 20:03)</a>:</h4>
<p>true</p>



<a name="184940858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202020.01.06/near/184940858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202020.2E01.2E06.html#184940858">(Jan 06 2020 at 20:04)</a>:</h4>
<p>I only chose 6 weeks because it's rust release cadence anyway, doesn't matter ;)</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>